/**
 * 
 */
package tur.br.moradadosol.view.form;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

import tur.br.moradadosol.util.Util;

/**
 * @author alex
 *
 */
public class GeraPesquisaForm extends ActionForm {
	
	private static final long serialVersionUID = 338135876595651324L;

	private String mailTo = "";
	
	private String nome = "";
	
	private String enviar = "";
	
	private String voltar = "";
	
	
	public void reset() {
		mailTo = "";
		nome = "";
	}
	
	public void reset(ActionMapping mapping, HttpServletRequest request) {
		setEnviar("");
		setVoltar("");
	}

	/**
	 * @return the enviar
	 */
	public String getEnviar() {
		return enviar;
	}

	/**
	 * @param enviar the enviar to set
	 */
	public void setEnviar(String enviar) {
		this.enviar = enviar;
	}

	/**
	 * @return the voltar
	 */
	public String getVoltar() {
		return voltar;
	}

	/**
	 * @param voltar the voltar to set
	 */
	public void setVoltar(String voltar) {
		this.voltar = voltar;
	}

	/**
	 * @return the mailTo
	 */
	public String getMailTo() {
		return mailTo;
	}

	/**
	 * @param mail the mailTo to set
	 */
	public void setMailTo(String mail) {
		if(mail == null) {
			mailTo = "";
		} else {
			mailTo = mail.trim();
		}
	}

	/**
	 * @return the nome
	 */
	public String getNome() {
		return nome;
	}

	/**
	 * @param nome the nome to set
	 */
	public void setNome(String nome) {
		this.nome = nome;
	}
	
	public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
		ActionErrors errors = new ActionErrors();
		
		if(getEnviar().length() > 0) {
			if(getNome().length() <= 3) {
				errors.add("pesquisasatisfacao.error", 
						new ActionMessage("error.pesquisasatisfacao.nome.required"));
			}
			
			if(getMailTo().length() < 3) {
				errors.add("pesquisasatisfacao.error", 
						new ActionMessage("error.pesquisasatisfacao.email.required"));
			} else if(!Util.validaEmail(getMailTo())) {
				errors.add("pesquisasatisfacao.error", 
						new ActionMessage("error.pesquisasatisfacao.email.invalid"));
			}
		}
		
		return errors;
	}

}
